<template>
	<view class="">
		
	</view>
</template>

<script setup>

import { onLoad } from '@dcloudio/uni-app'
//***************************异步请求的原始回调函数方法 1.0版本*****************
// 正确的 onLoad 使用方法
onLoad(() => {
	//调用取快递方法getKuaiDi，然后用取到的快递(res)，把快递打印出来。
	getKuaiDi(res => {
		console.log("异步请求的原始回调函数方法：把取到的快递送回家里了，快递是：",res);
	});
});

// 形象比喻就是取快递，取了快递把快递送回家去(callback)？
function getKuaiDi(callback) {
	uni.request({
		// 快递地址
		url: "https://ku.qingnian8.com/dataApi/news/navlist.php",
		success: res => {
			// 快递(res)取上了，取上以后不直接使用快递，
			// 而是拿着快递送回家里（callback(res)）。
			// callback要看怎么使用，如果是直接使用，比如：callback+1 ....
			// 则callback就是普通参数。
			// 如果callback是当做函数使用，例如:callback(xxx)
			// 则callback就是一个回调函数参数。
			callback(res)
		}
	})
};


//***************************异步请求的Promise方法  2.0版本*****************

let p = new Promise((resolve,reject)=>{
	uni.request({
		url:"https://ku.qingnian8.com/dataApi/news/navlist.php",
		success:res=>{
			resolve(res);
		},
		fail:err=>{
			reject(err);
		}
	})
});
console.log(p);
p.then(res=>{   //请求成功 
	console.log("异步请求的Promise方法(成功)：",res);
}).catch(err=>{  //请求失败
	console.log("异步请求的Promise方法(失败)：",err);
});

//***************************异步请求的async和await方法  3.0版本*****************

function getList(){
	return new Promise((resolve,reject)=>{
		uni.request({
			url:"https://ku.qingnian8.com/dataApi/news/navlist.php",
			success:res=>{
				resolve(res);
			},
			fail:err=>{
				reject(err);
			}
		})
	});
	
};

let res;
 res = await getList();
console.log("异步请求的await方法:",res.data[0].id);




</script>

<style lang="scss" scoped>

</style>